FIG. 6(a) shows an outline of a moving picture distribution system. Moving picture data to be distributed includes either one of video and audio or both, and may include a static image in a moving picture. A transmission side 10 comprises an MPEG2 (Moving Picture Expert Group 2) encoder 12 for compressing moving picture data by using an MPEG2 system; and a transmitter 14 for transmitting the compressed MPEG2 data. A reception side 20 comprises a receiver 22 for receiving MPEG2 data; and an MPEG2 decoder 24 for restoring the received MPEG2 data to the state before compression. The transmission side 10 and the reception side 20 are connected to each other over a communication line 18.
Communication lines using ATM (Asynchronous Transfer Mode), Ethernet, Token Ring, ADSL (Asymmetric Digital Subscriber Line), and communication satellite, or the like are typically used as the communication line 18. Although it depends on the protocol used in each communication line, most of the communication lines have a major purpose of correctly transmitting data, so that they do not aim to transmit fixed data volume within a fixed period of time. Few communication lines always have a uniform data transmission speed.
In these communication lines, a uniform transmission rate is not always secured or constant transmission delay is not always caused, but the data transmission rate varies with time in most cases. When video and audio are transmitted over such communication lines, their data transmission rates often vary in a short time unit, even if data is transmitted at a constant rate in a long time unit.
When a data receiving speed of the receiver 22 is faster than a data playback or reproduction speed of an MPEG2 decoder 24, data is overflown on the decoder 24 side, which causes lack of data. When the data receiving speed of the receiver 22 is slower than the data playback speed of the MPEG2 decoder 24, a shortage of data occurs on the decoder 24 side, which results in an inability to play back the data. In this case, due to noise specific to digital playback that may occur on a display screen or stop of motion of displayed picture, the video becomes extremely unclear. It is substantially similar to being impossible to play back the moving pictures. Measures are generally taken on the transmission side 10 to minimize variations in data transmission when transmitting data. It is, however, impossible to take measures against the variations caused by routers and the like on the communication line 18 because it is difficult for the transmission side 10 to detect the variations. Data volume received by the reception side 20 from the transmission side 10 varies by time in most cases.
FIG. 7(a) shows a transmitting server system 30 which is an example of configuration of the transmission side 10. FIG. 7(b) shows a receiving and playing back apparatus 40 which is an example of configuration of the reception side 20. In FIGS. 7(a) and 7(b), an ADSL is respectively used as an example of transmission line. The ADSL includes a telephone line. An ATM network 28 shown in FIG. 7(a) is a network inside the transmitting server system 30.
The transmitting server system 30 converts a plurality of moving pictures to MPEG2 data and transmits the data. MPEG2 encoders 32 compress moving picture data to MPEG2 data. The compressed MPEG2 data are merged into one data (MPEG2-TS (Transport Stream)) by an MPEG2 multiplexing section 34. Each MPEG2 data included in MPEG2-TS is, as shown in FIG. 6(b), divided into a plurality of data (DATA0, DATA1, DATA2, DATA3, . . . ). Time information (T0, T1, T2, T3, . . . ) taking account of time variations that have occurred during MPEG2 encoding is attached to each data (DATA0, DATA1, DATA2, DATA3, . . . ) at the time of multiplexing. The time information shows relative playback time of moving picture data, so that the receiving and playing back apparatus 40 is capable of playing back or reproducing the moving picture data at correct playback time on the basis of the time information.
The MPEG2-TS packets are converted to ATM packets by an ATM converting section 36 and transmitted to an ADSL transmitting section 38 via the ATM network 28. The ADSL transmitting section 38 transmits data to the receiving and playing back apparatus 40 over a telephone line. Since the bandwidth of a telephone line is generally narrower than that of the ATM network 28 and the quality of the line is poor, variations in data transmission rate may be considered to be mostly caused by the telephone line.
In the receiving and playing back apparatus 40, an ADSL receiving section 42 receives data transmitted from the transmitting server system 30 and an ATM demodulating section 44 demodulates the ATM packets to MPEG2-TS packets. The demodulated MPEG2-TS includes a plurality of MPEG2 data, so that either one of the MPEG2 data is extracted by an MPEG2-TS demultiplexer 46. An MPU (Microprocessor Unit) 56 specifies the MPEG2 data to be extracted. The MPU 56 controls each section (42, 44, 46, 48, 50, 52, 54) of the apparatus 40. The extracted MPEG2 data is sent to an MPEG2 decoder 50 through buffer A (reference number 48). The moving picture data restored by the MPEG2 decoder 50 is converted to an NTSC (National Television System Committee) signal by an NTSC encoder 52 to be outputted to a video/audio output unit. The MPEG2 decoder 50 and the NTSC encoder 52 act as playback means. For example, speaker integrated-television monitors can be used as video/audio output units.
Time required for the above-mentioned data conversion processing to be performed within the transmitting server system 30 and the receiving and playing back apparatus 40 is not always constant. Variations in respective processing time for the MPEG2 data multiplexing, ATM packet conversion, and ADSL transmission may occur within the transmitting server system 30. Variations in respective processing time for the ADSL reception and the ATM demodulation may occur within the apparatus 40. Accordingly, variations in processing time for data conversion within the transmitting server system 30 and the apparatus 40 may cause variations in data transmission rate as well.
The variations in data conversion processing time can be compensated by coordinating the timing in the transmitting server system 30 and playing back apparatus 40 using the time information attached at the time of multiplexing. For example, data playback time specified by the server system 30 shown in FIG. 6(c) and data playback time on the apparatus 40 side shown in FIG. 6(d) can be matched by the time information (T0, T1, T2, T3, . . . ) attached to each of the divided MPEG2 data (DATA0, DATA1, DATA2, DATA3, . . . ) as shown in FIG. 6(b). Ts1 is playback starting time of the server system 30 side and Ts2 is playback starting time of the apparatus 40 side. Due to delay in transmission, it is indicated that Ts1<Ts2. Tc1 is time unit of the server system 30 side and Tc2 is time unit of the apparatus 40, and then Tc1=Tc2.
In the receiving and playing back apparatus 40 shown in FIG. 7(b), a base clock generating section 54 controls the time unit Tc2. The base clock generating section 54 generates a base clock for the entire apparatus 40. For example, 100 clocks of the base clock can be set to Tc2. Although it is generally set that Tc2=Tc1, the section 54 increases and decreases Tc2 depending on used space of buffer A.
When used space of buffer A exceeds a predetermined value and approaches an overflow, the base clock generating section 54 shortens the time unit Tc2 to speed up the playback time performed by the MPEG2 decoder 50 and the NTSC encoder 52. The moving picture data transmitted from buffer A to the MPEG2 decoder 50 temporarily increases because of a rise in playback speed. An increase in data volume outputted from buffer A prevents an overflow from occurring.
When the used space of buffer A decreases below a predetermined value and comes near to the state of no memory data (underflow), the base clock generating section 54 lengthens Tc2 to slow down the playback speeds of the MPEG2 decoder 50 and the NTSC encoder 52. The moving picture data transmitted from buffer A to the MPEG2 decoder 50 temporarily decreases because of a drop in playback speed. A reduction in data volume outputted from buffer A prevents an underflow from occurring.
If Tc2 can be adjusted in a wider range of time, wider variations in data transmission rate and data conversion time will be compensated. The base clock defining Tc2 is, however, used for the entire receiving and playing back apparatus 40, so that it is impossible to change Tc2 so widely. Thus, there is a limit on adjustment range of a receiving and playing back apparatus against variations in data transmission speed. Conventional receiving and playing back apparatuses have adaptability to variations of −0.1% to +0.1%. On the other hand, variations of some % to some tens % or greater may occur on conventional communication lines, such as telephone lines.